package listnode;

/**
 * @Author kaho
 * @create 2020/11/26
 */
public class 剑指Offer06_从尾到头打印链表 {

    /**
     * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。
     *
     *
     *
     * 示例 1：
     *
     * 输入：head = [1,3,2]
     * 输出：[2,3,1]
     * @param head
     * @return
     */
    public int[] reversePrint(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        int count = 0;
        while (cur != null) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
            count++;
        }
        int[] arr = new int[count];
        for (int i = 0; i < arr.length && pre!=null; i++) {
            arr[i] = pre.val;
            pre = pre.next;
        }
        return arr;
    }

}
